package com.syh.jn.scm.service.api.upstream.finance;

import com.syh.jn.scm.dto.support.FilesDto;
import com.syh.jn.scm.dto.upstream.finance.UpStatementAccountBillItemVo;
import com.syh.jn.scm.dto.upstream.finance.UpStatementAccountBillMto;
import com.syh.jn.scm.dto.upstream.finance.UpStatementAccountBillSto;
import com.syh.jn.scm.dto.upstream.finance.UpStatementAccountBillVo;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

public interface UpStatementAccountBillService extends BaseService<UpStatementAccountBillSto, UpStatementAccountBillMto, UpStatementAccountBillVo, Long> {
  /**
   * 业务确认
   *
   * @param id
   */
  public void businessConfirmation(Long id);

  /**
   * 业务取消确认
   *
   * @param id
   */
  public void businessCancelConfirmation(Long id);

  /**
   * 财务确认
   *
   * @param id
   */
  public void financeConfirmation(Long id);

  /**
   * 财务取消确认
   *
   * @param id
   */
  public void financeCancelConfirmation(Long id);

  /**
   * 上传单据图片
   *
   * @param dto
   */
  public void upload(FilesDto dto);

  /**
   * 根据对账单id获取明细
   *
   * @param statementId 对账单id
   * @return
   */
  public List<UpStatementAccountBillItemVo> getItemsByStatementId(Long statementId);

}
